package cl.gob.minvu.catastro.model;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the COMUNA database table.
 * 
 */
@Entity
@Table(name="COMUNA")
@NamedQuery(name="Comuna.findAll", query="SELECT c FROM Comuna c")
public class Comuna implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="IDCOMUNA")
	private Integer idcomuna;

	@Column(name="GLOSA")
	private String glosa;

	//bi-directional many-to-one association to Region
	@ManyToOne
	@JoinColumn(name="IDREGION")
	private Region region;

	//bi-directional many-to-one association to Direccion
	@OneToMany(mappedBy="comuna")
	private List<Direccion> direccions;

	public Comuna() {
	}

	public Integer getIdcomuna() {
		return this.idcomuna;
	}

	public void setIdcomuna(Integer idcomuna) {
		this.idcomuna = idcomuna;
	}

	public String getGlosa() {
		return this.glosa;
	}

	public void setGlosa(String glosa) {
		this.glosa = glosa;
	}

	public Region getRegion() {
		return this.region;
	}

	public void setRegion(Region region) {
		this.region = region;
	}

	public List<Direccion> getDireccions() {
		return this.direccions;
	}

	public void setDireccions(List<Direccion> direccions) {
		this.direccions = direccions;
	}

	public Direccion addDireccion(Direccion direccion) {
		getDireccions().add(direccion);
		direccion.setComuna(this);

		return direccion;
	}

	public Direccion removeDireccion(Direccion direccion) {
		getDireccions().remove(direccion);
		direccion.setComuna(null);

		return direccion;
	}

}